package com.lan.seriousphysics.utils;

import com.badlogic.gdx.scenes.scene2d.ui.Label;

public class Cronometro {
	
	

	String tiempo;
	public boolean issuspended = false;// para saber si el hilo esta suspendido
										// o pausado
	int hora = 0, min = 0, seg = 0, ds = 0;// unidades de medida
	Thread hilo = new Thread() {// declaramos el hilo

		public void run() {
			try {
				while (true) {// ciclo infinito
					if (ds == 99) {// si los decisegundos son iguales a 99
						ds = 0;// decisegundo vuelve a empezar en cero
						seg++;// y aumenta un segundo
					}
					if (seg == 59) {// si los segundos son iguales a 59
						seg = 0;// segundo vuelve a empezar en cero
						min++;// y aumenta un minuto
					}
					if (min == 59) {// si los minutos son iguales a 59
						min = 0;// minuto vuelve a empezar en cero
						hora++;// y aumenta una hora
					}
					ds++;// aumentan las decimas de segundo

					tiempo = hora + ":" + min + ":" + seg + ":" +
					ds;

					hilo.sleep(10);// que duerma una decima de segundo
				}
			} catch (java.lang.InterruptedException ie) {
				System.out.println(ie.getMessage());
			}
		}
	};

	public Cronometro()
	{
		
		tiempo = "0:0:0:0";
		
	}
	
	public void start() {

		if (!issuspended) {// si no esta suspendido o pausado
			hilo.start();// el hilo empieza

		} else {// de lo contrario
			hilo.resume();// el hilo se reanuda
			issuspended = false;// el hilo ya no esta suspendido

		}

	}

	public void pause() {
		hilo.suspend();// se suspende o pausa el hilo
		issuspended = true;// el hilo esta suspendido
	}// GEN-LAST:event_btnPausaActionPerformed


	public void stop() {// GEN-FIRST:event_btnDetenerActionPerformed
		hilo = null;// se suspende el hilo.. (NO utilizamos hilo.stop()
						// porque si lo usamos, el hilo se "muere")
		ds = seg = min = hora = 0;// todas las unidades en cero
		issuspended = true;// el hilo esta suspendido
	}

	public String getTiempo() {
		return tiempo;
	}
	
	
}
